A container may be a virtualized object similar to a virtual machine except that, typically, a container may not implement a guest operating system and may, for example, instead utilize a host operating system of a physical machine. One or more applications and/or utilities may execute in a container. A container may have one or more respective, filesystems, memory, devices, network ports, etc. for accessing the physical resources of the physical machine and other resources outside of the physical machine. Specific requests to access physical resources inside or outside of the physical machine may be made through the host operating system.
In computer systems, containers are typically used for creating hosting environments for running application programs. Computer systems may use containers to separate various components of a computing system. For example, different components of a computing system may be executed at different containers. Kubernetes®, which is an open-source system, may be used for automating deployment, scaling, and management of containerized applications.
A microservice may refer to an application with a single function or service, such as making an online payment or routing network traffic. Microservices may be used to develop an application having independently deployable services. In a typical example, a microservice is run in a container. Running microservices in containers may be helpful for developing and deploying large applications, such as enterprise solutions.